const app = getApp();

import {
    login
} from '../../api/IntoWall/login';


//讲一下登录 相关
Page({
    data: {
        tip1: false, // 控制手机号（现改为account）输入提示框显示隐藏，初始为隐藏
        warn1: '', // 手机号（现改为account）输入错误提示内容
        tip2: false, // 控制密码输入提示框显示隐藏，初始为隐藏
        warn2: '', // 密码输入错误提示内容
        loginData: [], // 登录验证数据（可根据实际需求使用）
    },

    // 处理手机号（现改为account）输入事件，进行简单格式验证并更新提示信息
    checkphone(e) {
        const enteredAccount = e.detail.value;
        if (!/^1[3-9]\d{9}$/.test(enteredAccount)) {
            this.setData({
                warn1: "请输入正确的手机号格式",
                tip1: true,
            });
        } else {
            this.setData({
                warn1: "",
                tip1: false,
            });
        }
    },

    // 处理密码输入事件，简单验证长度并更新提示信息
    checkpwd(e) {
        const enteredPwd = e.detail.value;
        if (enteredPwd.length < 6) {
            this.setData({
                warn2: "密码长度不能少于6位",
                tip2: true,
            });
        } else {
            this.setData({
                warn2: "",
                tip2: false,
            });
        }
    },

    // 登录按钮点击后触发的表单提交验证及登录操作函数
    formSubmit(e) {
        // 检查e.detail.value是否存在且包含account和pwd属性
        const enteredAccount = e.detail.value.account
        const enteredPwd = e.detail.value.pwd;
        this.goLogin(enteredAccount, enteredPwd)
    },
    goLogin:function(enteredAccount, enteredPwd) {
        if (!enteredAccount || !enteredPwd) {
            // 如果是微信小程序环境，使用原生的wx对象显示提示
            if (typeof wx !== 'undefined' && wx.showToast) {
                wx.showToast({
                    title: '请输入手机号和密码！',
                    icon: 'none',
                    duration: 2000
                });
            }
        }
        // 后续非空校验和登录逻辑不变
        if (!enteredPwd || !enteredAccount) {
            let warnMsg = "";
            let tipVar = "";
            if (!enteredPwd) {
                warnMsg = "请输入密码！";
                tipVar = "tip2";
            } else if (!enteredAccount) {
                warnMsg = "请输入手机号！";
                tipVar = "tip1";
            }
            this.setData({
                [tipVar]: true,
                [`warn${tipVar.replace('tip', '')}`]: warnMsg
            });
        }
        // 调用登录接口进行验证，传递参数修改为account
        login({
            validCode: "",
            validCodeReqNo: "",
            account: enteredAccount,
            //原来的加密用了两种 前后端传输SM2一种 后端数据库sm4保存一种
            password: enteredPwd, //直接传
            device: "MINI"
        }).then(res => {
            if (res && res.code === 200) {
                // 登录成功逻辑
                wx.showToast({
                    title: '登陆成功',
                    success:function(){
                        console.log(res);
                        //存在不影响跳转 但是不知道为什么跳转不过去
                        wx.setStorageSync('token', res.data.token); //但是同步就一定会等他存好之后才执行下一步
                        //异步不等待 然后后续跳转走了 就可能会没有存成功
                        wx.setStorageSync('userid',res.data.id);
                        wx.setStorageSync('isLoggedIn', true)
                        //取得userid
                        //跳转主页
                        // app.globalData.isLoggedIn=true
                        // console.log("d登陆全局",app.globalData.isLoggedIn);
                         wx.switchTab({
                           url: '/pages/my/my',
                         })
                    }
                });   
            } else {
                if (!res) {
                    console.error("登录接口调用无响应，可能网络问题或请求未发送成功");
                    this.setData({
                        tip1: true,
                        warn1: "登录失败，请检查网络或稍后再试"
                    });
                } else if (!res.data) {
                    console.error("登录接口调用返回，但无有效数据内容，响应内容：", res);
                    this.setData({
                        tip1: true,
                        warn1: "登录失败，请检查网络或稍后再试"
                    });
                  if (res.code==400) {
                        wx.showToast({
                          title: res.msg,
                        }) }
                } else if (typeof res.data.msg === 'undefined') {
                    console.error("登录接口调用返回数据格式异常，缺少msg字段，响应内容：", res.data);
                    this.setData({
                        tip1: true,
                        warn1: "登录失败，未知错误"
                    });
                } else {
                    console.error("登录接口调用返回错误信息，响应内容：", res.data);
                    this.setData({
                        tip1: true,
                        warn1: res.data.msg || "手机号或密码错误，请重新输入！"
                    });
                }
            }
        }).catch(err => {
            console.error("登录接口调用出错，详细错误信息：", err);
            // 使用原生的wx对象显示错误提示
            if (typeof wx !== 'undefined' && wx.showToast) {
                wx.showToast({
                    title: '登录接口调用出错，请稍后再试',
                    icon: 'none',
                    duration: 2000
                });
            }
        });
    },
    // 其他页面生命周期函数，可根据实际需求添加具体逻辑
    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {},
    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {},
    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {
        
    },
    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {
        
    },
    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {},
    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {},
    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {}
})